import request from "@/api/request.js";
import { useUserStore } from '@/store/user.js'

/**
 * 获取视频基础信息
 * @param {string} bvid - 视频BV号
 * @returns {Promise} 包含视频基础信息的Promise对象
 */
export function getVideoBasicInfo(bvid) {
  const user = useUserStore()
  return request.request({
    url: '/api/video/basic_info',
    method: 'GET',
    params: { bvid },
    headers: { 'Token': user.cookie }
  })
}

/**
 * 获取视频AI描述
 * @param {string} bvid - 视频BV号
 * @returns {Promise} 包含AI生成描述的Promise对象
 */
export function getVideoAiDesc(bvid) {
  const user = useUserStore()
  return request.request({
    url: '/api/video/ai_desc',
    method: 'GET',
    params: { bvid },
    headers: { 'Token': user.cookie }
  })
}

/**
 * 获取视频观看量变化数据
 * @param {string} bvid - 视频BV号
 * @returns {Promise<Object>} 包含以下结构的对象：
 *   {
 *     code: 200,             // HTTP状态码
 *     data: [{
 *       date: "Sat, 05 Jul 2025 10:07:00 GMT",  // ISO时间字符串
 *       view_count: 178      // 每分钟观看量
 *     }, ...]                // 按时间倒序排列的数据点
 *   }
 */
export function getVideoViewsChange(bvid) {
  const user = useUserStore()
  return request.request({
    url: '/api/video/change/views',
    method: 'GET',
    params: { bvid },
    headers: { 'Token': user.cookie }
  })
}

/**
 * 获取视频投币量变化数据
 * @param {string} bvid - 视频BV号
 * @returns {Promise<Object>} 包含以下结构的对象：
 *   {
 *     code: 200,
 *     data: [{
 *       date: "Sat, 05 Jul 2025 10:35:00 GMT",
 *       coin_count: 6        // 每分钟投币量
 *     }, ...]                // 最新数据在前
 *   }
 */
export function getVideoCoinsChange(bvid) {
  const user = useUserStore()
  return request.request({
    url: '/api/video/change/coins',
    method: 'GET',
    params: { bvid },
    headers: { 'Token': user.cookie }
  })
}

/**
 * 获取视频分享量变化数据
 * @param {string} bvid - 视频BV号
 * @returns {Promise<Object>} 包含以下结构的对象：
 *   {
 *     code: 200,
 *     data: [{
 *       date: "Sat, 05 Jul 2025 10:35:00 GMT",
 *       share_count: 0       // 每分钟分享量
 *     }, ...]                // 时间倒序排列
 *   }
 */
export function getVideoSharesChange(bvid) {
  const user = useUserStore()
  return request.request({
    url: '/api/video/change/share',
    method: 'GET',
    params: { bvid },
    headers: { 'Token': user.cookie }
  })
}

/**
 * 获取视频收藏量变化数据
 * @param {string} bvid - 视频BV号
 * @returns {Promise<Object>} 包含以下结构的对象：
 *   {
 *     code: 200,
 *     data: [{
 *       date: "Sat, 05 Jul 2025 10:36:00 GMT",
 *       favorite_count: 3    // 每分钟收藏量
 *     }, ...]                // 最新数据排在最前
 *   }
 */
export function getVideoFavoritesChange(bvid) {
  const user = useUserStore()
  return request.request({
    url: '/api/video/change/favorite',
    method: 'GET',
    params: { bvid },
    headers: { 'Token': user.cookie }
  })
}

export function getHotVideos(tid){
    const user = useUserStore()
    return request.request({
        url:'/api/video/hot',
        method: 'GET',
        params:{tid},
        headers:{
            'Token':user.cookie
        }
    })
}

export function getSeriesVideos(){
    const user = useUserStore()
    return request.request({
        url:'/api/video/series',
        method: 'GET',
        headers:{
            // 'Token':user.cookie
        }
    })
}